Vc n mexeu em nada n, ou n eskeceu de coloca return true ou end em algum script?
- Fórum
- OTServ
- Suporte
- Tópicos Sem Resposta
- [Encerrado] Golden Arena Pda
info
Grupo: Lorde
Registrado: 05/06/12
Posts: 2.2k
Reputação: +215
Gênero: Masculino

info
Grupo: Conde
Registrado: 25/04/12
Posts: 752
Reputação: +125
Gênero: Masculino

Nem mexi na golden arena ;/
Cleberadm, tira os shinys de rank( golem, vaporeon, etc) e shinys sem corpos como hitmonlee e chan. Eu tirei os meus e deu certo, testa ae tb!
info
Grupo: Campones
Registrado: 12/02/08
Posts: 95
Reputação: +9
Gênero: Masculino

/\
O problema é exatamente esse.
O Script tenta remover os corpse para a proxima wave... mas como No seu Script @Cleberadm tem o shiny golem que não tem corpse.
Oscript buga =D
info
Grupo: Conde
Registrado: 25/04/12
Posts: 752
Reputação: +125
Gênero: Masculino

Estoue sperando, 12:33 vai começa, veremos G,G ' tomara que funcione o///
Ai vai resolve muitos problemas ![]()
Funcionou G.G vle ae galera o//
Editado Outubro 27 por Cleberadm
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

na verdade n tem nd a ver o poke n ter corpse, ja q o script limpa o tile, ele n pega por corpse...
eh bem estranhu isso na real.. ;x a n ser q os pokes sem corpse n tao entrando no pokeexp.lua... ;x
info
Grupo: Campones
Registrado: 04/08/12
Posts: 15
Reputação: 0
Char no Tibia: Master Darkness

aqui não funfo assim.. da a wave 1 eu mato tudo e da ok aparece que vai começa em 30seg e na segunda se não me engano eu mato e não aparece mais nada e fico la parado sem apaga os corpo e sem msg e sem respaw dos bixo..
tentei executa o script pelo sqlite e deu o seguinte erro : Error while executing query: near "timeToWaves": syntax error
info
Grupo: Conde
Registrado: 25/04/12
Posts: 752
Reputação: +125
Gênero: Masculino

Criou a tabela no sql?
info
Grupo: Campones
Registrado: 04/08/12
Posts: 15
Reputação: 0
Char no Tibia: Master Darkness

eu colokei o script que fica no lib/configuration o inteiro da golden arena ai deu o erro que eu falei la em cima.. (obs: eu colokei o script e executei)
agora deu certo eu só colokei o script no sqlite e apagei o 30 do timewaves e colokei 30 dnv e deu certim vlws
Editado Outubro 27 por MasterDarkness
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: Masculino

LOL? /\
q q tem a ver o sqlite com a golden, sem ser o rank... ![]()
a golden aki ta quase 100%, so ta faltando o player ganhar o premio e ser teleportado pra fora da golden e ganhar o premio.
explicando: os horarios tão 100%, o player é puxado pra arena 100%, 15 waves aparecendo 100%, porem quando acaba as waves, o player fica preso na arena e não recebe o premio. Obs: a posição de tp da arena(posBackGolden) ta certa. Ae vai os scripts pra quem souber arrumar:
data/lib/ configuration.lua
posGolden = {x=1227, y=1118, z=6} --pos da golden pra onde os players vao ser teleportados!
posBackGolden = {x=1231, y=1113, z=7} --pos da golden pra onde os players vao ser teleportados ao morrerem e quando acabar a golden...
---------
horas = {"0:40", "9:40", "11:45", "17:00", "21:55"} --alterar aki os horarios da golden arena!
--deixe sempre na ordem do menor pro maior horario!!!
--------
posisGolden = {
{x=1220, y=1115, z=6},
{x=1227, y=1118, z=6},
{x=1233, y=1115, z=6},
{x=1220, y=1121, z=6}, --aki vcs colocam todas as posiçoes q os monstros vao nascer dentro da golden arena...
{x=1233, y=1121, z=6}, --lembrando q o numero de posis q vcs colocarem tem q ser igual ao numero de pokes q vcs vao colocar ali embaixo!
{x=1220, y=1118, z=6},
{x=1233, y=1118, z=6},
{x=1227, y=1115, z=6}, --LEMBRANDO Q AGORA N PRECISA MAIS EDITAR MAIS NENHUM SCRIPT A N SER ESSE!!
{x=1227, y=1121, z=6}, --E O GLOBALEVENTS/GLOBALEVENTS.XML COM OS HORARIOS!
}
----------
wavesGolden = { --waves q vao ter na golden arena... o numero de pokes tem q ser igual ao numero de posis!!
[1] = {"Golduck", "Persian", "Venomoth", "Parasect", "Wigglytuff", "Clefable", "Nidoking", "Sandslash", "Raichu"},
[2] = {"Raticate", "Muk", "Primeape", "Magneton", "Tentacruel", "Victreebel", "Machamp", "Poliwrath", "Arcanine"},
[3] = {"Shiny Dratini", "Exeggutor", "Alakazam", "Gengar", "Onix", "Hypno", "Mr. Mime", "Cloyster", "Dewgong"},
[4] = {"Shiny Seadra", "Shiny Kingler", "Electabuzz", "Jynx", "Scyther", "Kangaskhan", "Rhydon", "Weezing", "Marowak"},
[5] = {"Shiny Raichu", "Shiny Beedrill", "Venusaur", "Charizard", "Blastoise", "Gyarados", "Kabutops", "Omastar", "Magmar"},
[6] = {"Shiny Butterfree", "Shiny Marowak", "Shiny Farfetch'd", "Feraligatr", "Typhlosion", "Meganium", "Dragonite", "Snorlax", "Golem"},
[7] = {"Shiny Abra", "Shiny Pinsir", "Shiny Blastoise", "Ampharos", "Xatu", "Togetic", "Lanturn", "Crobat", "Noctowl"},
[8] = {"Shiny Jynx", "Shiny Venusaur", "Shiny Electabuzz", "Slowking", "Murkrow", "Umbreon", "Espeon", "Politoed", "Sudowoodo"},
[9] = {"Shiny Muk", "Shiny Tangela", "Shiny Charizard", "Granbull", "Steelix", "Gligar", "Forretress", "Wobbuffet", "Misdreavus"},
[10] = {"Shiny Raichu", "Shiny Dragonair", "Shiny Pidgeot", "Shiny Beedrill", "Piloswine", "Sneasel", "Heracross", "Scizor", "Qwilfish"},
[11] = {"Shiny Parasect", "Shiny Muk", "Shiny Electrode", "Shiny Golbat", "Shiny Arcanine", "Donphan", "Kingdra", "Skarmory", "Mantine"},
[12] = {"Shiny Onix", "Shiny Farfetch'd", "Shiny Tentacruel", "Shiny Abra", "Shiny Arcanine", "Shiny Venomoth", "Blissey", "Miltank", "Porygon2"},
[13] = {"Shiny Marowak", "Shiny Electrode", "Shiny Kingler", "Shiny Pinsir", "Shiny Venusaur", "Shiny Venomoth", "Shiny Tentacruel", "Snorlax", "Ursaring"},
[14] = {"Shiny Dragonair", "Shiny Scyther", "Shiny Gengar", "Tyranitar", "Shiny Pinsir", "Shiny Seadra", "Shiny Jynx", "Shiny Tangela", "Tyranitar"},
[15] = {"Shiny Venussaur", "Shiny Gyarados", "Shiny Blastoise", "Shiny Charizard", "Shiny Scyther", "Mew", "Mewtwo", "Shiny Gengar", "Shiny Alakazam"}, --o numero de espaços na tabela tem q ser o ms do numero de posis!!!
}
data/lib/Golden Arena.lua
--[[storages
22545 = player q entra na arena (normal)
22546 = monstros na arena (normal)
22547 = waves (global)
22548 = qnts monstros tem na arena (global)
22549 = nome dos players q vao pra arena (global)
22550 = qnts players tem na arena (global)
22551 = waves para cada player (normal)
]]
------------------------------------------------------------------------------------------------------------------
function doWave(start)
if getGlobalStorageValue(22550) >= 1 and getGlobalStorageValue(22548) <= 0 then
local wave = getGlobalStorageValue(22547) <= 0 and 1 or getGlobalStorageValue(22547)
local players = creaturesInGolden(GoldenUpper, GoldenLower, true) --pega os players na golden
for i = 1, #posisGolden do
if wavesGolden[wave] ~= "" then
local monster = doSummonCreature(wavesGolden[wave], posisGolden)
doSetMonsterPassive(monster)
doWildAttackPlayer(monster, players[math.random(#players)])
doSendMagicEffect(getThingPos(monster), 21)
setPlayerStorageValue(monster, 22546, 1)
local sto = getGlobalStorageValue(22548) <= 0 and 0 or getGlobalStorageValue(22548)
setGlobalStorageValue(22548, sto+1)
end
end
for a = 1, #players do
setPlayerStorageValue(players[a], 22551, wave)
end
setGlobalStorageValue(22547, wave+1)
end
end
------------------------------------------------------------------------------------------------------------------
function puxaParticipantes()
local s = ""
if getGlobalStorageValue(22549) ~= -1 then
s = string.explode(getGlobalStorageValue(22549), ",")
end
if type(s) ~= 'table' or s == "" then
print("Golden Arena will not begin, because no player are registered!")
return true
end
for i = 1, #s do
local sid = getPlayerByName(s)
if isCreature(sid) then
doTeleportThing(sid, getClosestFreeTile(sid, posGolden)) --pos pra onde os players vao ser teleportados quando a golden começar!
doSendMagicEffect(getThingPos(sid), 21)
if #getCreatureSummons(sid) >= 1 then
doTeleportThing(getCreatureSummons(sid)[1], getClosestFreeTile(getCreatureSummons(sid)[1], posGolden)) --pos pra onde os pokes dos players serao teleportados!
doSendMagicEffect(getThingPos(getCreatureSummons(sid)[1]), 21)
end
setPlayerStorageValue(sid, 22545, 1)
setGlobalStorageValue(22550, (getGlobalStorageValue(22550) <= 0 and 0 or getGlobalStorageValue(22550))+1)
end
end
setGlobalStorageValue(22549, -1)
end
------------------------------------------------------------------------------------------------------------------
function endGoldenArena(onStart)
for sto = 22547, 22550 do
setGlobalStorageValue(sto, -1)
end
addEvent(creaturesInGolden, 150, GoldenUpper, GoldenLower, false, true, true)
if not onStart then
print("The Golden Arena are finished!")
end
end
------------------------------------------------------------------------------------------------------------------
function creaturesInGolden(upper, lower, player, remove, clean) -- function by Vodkart and edited by Slicer
local players = {}
for x = upper.x - 1, lower.x + 1 do
for y = upper.y - 1, lower.y + 1 do
local pos = {x = x, y = y, z = upper.z}
local m = getTopCreature(pos).uid
if remove ~= false and m ~= 0 and ehMonstro(m) then doRemoveCreature(m) end
if clean ~= false then doCleanTile(pos, false) end
if player ~= false and m ~= 0 and isPlayer(m) and getPlayerStorageValue(m, 22545) == 1 then table.insert(players, m) end
end
end
if player ~= false then return players end
end
------------------------------------------------------------------------------------------------------------------
function installRankGolden()
if db.executeQuery("ALTER TABLE `players` ADD `Golden` integer not null default 0;") then
if db.executeQuery("UPDATE `players` SET `Golden` = '10000' WHERE `id` = 1;") then
local dir = "data/globalevents/scripts/start.lua"
local arq = io.open(dir, "w")
local base = 'function onStartup()\n\ndb.executeQuery("UPDATE `players` SET `online` = 0 WHERE `world_id` = " .. getConfigValue("worldId") .. ";")\n'
base = base..'endGoldenArena(true)\n\nreturn true\nend'
arq:write(base)
arq:close()
print("Table 'Golden' added with success!")
end
end
return true
end
------------------------------------------------------------------------------------------------------------------
function getPlayerRecordWaves(cid)
if not isCreature(cid) then return 0 end
local pid = getPlayerGUID(cid)
local query = db.getResult("SELECT `Golden` FROM `players` WHERE `id` = "..pid..";")
if query:getID() == -1 then
return 0
end
return query:getDataInt("Golden")
end
------------------------------------------------------------------------------------------------------------------
function setPlayerRecordWaves(cid)
if not isCreature(cid) then return false end
local waves = getPlayerStorageValue(cid, 22551)
local acc = getPlayerGUID(cid)
if waves > getPlayerRecordWaves(cid) then
if db.executeQuery("UPDATE `players` SET `Golden` = '"..waves.."' WHERE `id` = "..acc..";") then
setPlayerStorageValue(cid, 22551, -1)
return true
end
end
return false
end
------------------------------------------------------------------------------------------------------------------
function getRankGolden()
local query = db.getResult("SELECT `id`, `Golden` FROM `players` ORDER BY `Golden` DESC;")
local str = "Rank of the Golden Arena:\n\n"
if query:getID() ~= -1 then
for i = 1, 10 do
if not(query:next()) or query:getDataInt("Golden") == 0 then
str = str..""..i.."° None - 0 wave.\n"
else
local s = tonumber(query:getDataInt("Golden")) > 1 and "s" or ""
str = str..""..i.."° "..getPlayerNameByGUID(query:getDataString("id")).." - "..query:getDataInt("Golden").." wave"..s..".\n"
end
end
query:free()
end
return str
end
------------------------------------------------------------------------------------------------------------------
e finalmente data/creaturescripts/scripts/pokeexp
if getPlayerStorageValue(cid, 22546) == 1 then
setGlobalStorageValue(22548, getGlobalStorageValue(22548)-1)
doItemSetAttribute(corpse.uid, "golden", 1)
end
if getPlayerStorageValue(cid, 22546) == 1 and getGlobalStorageValue(22548) <= 0 then
local wave = getGlobalStorageValue(22547)
for _, sid in ipairs(getPlayersOnline()) do
if isPlayer(sid) and getPlayerStorageValue(sid, 22545) == 1 then
if getGlobalStorageValue(22547) < #wavesGolden+1 then
doPlayerSendTextMessage(sid, 21, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")
doPlayerSendTextMessage(sid, 28, "Wave "..wave.." will begin in "..timeToWaves.."seconds!")
addEvent(creaturesInGolden, 100, GoldenUpper, GoldenLower, false, true, true)
addEvent(doWave, timeToWaves*1000)
elseif getGlobalStorageValue(22547) == #wavesGolden+1 then
doPlayerSendTextMessage(sid, 20, "You have win the golden arena! Take your reward!")
doPlayerAddItem(sid, 2152, getPlayerStorageValue(sid, 22551)*2) --recompensa, a storage ali eh qnts waves o player guento!
setPlayerStorageValue(sid, 22545, -1)
doTeleportThing(sid, getClosestFreeTile(sid, posBackGolden), false)
setPlayerRecordWaves(sid)
end
end
end
if getGlobalStorageValue(22547) == #wavesGolden+1 then
endGoldenArena()
end
end
Editado Outubro 29 por xarmax
info
Grupo: Campones
Registrado: 04/08/12
Posts: 15
Reputação: 0
Char no Tibia: Master Darkness

paro de funciona denovo se eu aumenta waves buga algo ?
bom eu entendo um pouco de script entaum assim que deu esse problema citado acima procurei corrigir, oque fiz para o script funcionar foi apenas executa-lo na query database.. como executa isso? abra o sqlite e add o database do seu server depois conecte ele, vá em open sql editor la em cima onde tem um lápis, depois você cola o script lá dentro e clique em execute query ou apenas aperte (F9), fiz isso com todos os scripts do golden arena e deu certo... '-' agora se isso der certo ah vcs' toda vez que mudar os bixos das waves tem que fazer esse procedimento em cima... BOA SORTE! se isto pegar me avise.
info
Grupo: Campones
Registrado: 12/09/10
Posts: 12
Reputação: 0

o meu script ta igual o do xarmax
e nao ta puxando e ta dando um erro no executavel.
o fato de nao puxar pode ser porque é god ou nao?





info
Grupo: Conde
Registrado: 25/04/12
Posts: 752
Reputação: +125
Gênero: Masculino
É não, porque a 1° wave ele vai..e é igual o resto ;s